package com.nnnu.wsnackshop.service;

import java.util.List;
import java.util.Map;

/**
 * 仪表盘数据服务接口
 */
public interface IDashboardService {

    /**
     * 获取仪表盘统计数据
     * 
     * @return 统计数据，包括今日订单数、总用户数、总收入和优惠券使用数等
     */
    Map<String, Object> getDashboardStats();

    /**
     * 获取销售趋势数据
     * 
     * @param timeRange 时间范围：'day', 'week', 'month', 'year'
     * @return 销售趋势数据
     */
    List<Map<String, Object>> getSalesTrend(String timeRange);

    /**
     * 获取销售分类占比数据
     * 
     * @param timeRange 时间范围：'day', 'week', 'month', 'year'
     * @return 各分类销售占比数据
     */
    List<Map<String, Object>> getCategorySales(String timeRange);

    /**
     * 获取最近订单数据
     * 
     * @param limit 获取的订单数量
     * @return 最近订单列表
     */
    List<Map<String, Object>> getRecentOrders(int limit);

    /**
     * 获取热门商品数据
     * 
     * @param limit 获取的商品数量
     * @return 热门商品列表
     */
    List<Map<String, Object>> getHotProducts(int limit);

    /**
     * 获取用户增长数据
     * 
     * @param timeRange 时间范围：'week', 'month', 'year'
     * @return 用户增长的时间序列数据
     */
    List<Map<String, Object>> getUserGrowth(String timeRange);
}